<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="../../js/jquery-2.1.1.min.js"></script>
    <style>
        #OText,
        #OText1{
            width:500px;
            height:500px;
            float:left;
        }
    </style>
</head>
<body>
<textarea id="OText">4月13日消息，据台湾媒体报道，32岁的孙燕姿(Sng Ee Tze)和后天将满34岁的荷兰籍印度尼西亚男友纳迪姆(Nadim Van Der Ros)交往5年，
    曾说过"有空就结婚"的她，果然趁着宣传期尾声，于3月31日在新加坡登记注册了！昨消息传开，她未否认，仅说会选择适当时间公布喜讯，所属"美妙音乐"则表示她个性低调，
    婚礼只会邀请双方亲友，也不会透露细节，但据新加坡可靠消息指出，婚宴订在5月初。</textarea>
<textarea id="OText1">4月13日消息，据台湾媒体报道，32岁的孙燕姿(Sng Ee Tze)和后天将满34岁的荷兰籍印度尼西亚男友纳迪姆(Nadim Van Der Ros)交往5年，
    曾说过"有空就结婚"的她，果然趁着宣传期尾声，于3月31日在新加坡登记注册了！昨消息传开，她未否认，仅说会选择适当时间公布喜讯，所属"美妙音乐"则表示她个性低调，
    婚礼只会邀请双方亲友，也不会透露细节，但据新加坡可靠消息指出，婚宴订在5月初。</textarea>

<button id="button1">选中</button>
<button id="button2">替换/插入</button>
<button id="button3">加粗</button>
<button id="button4">将焦点至于末尾</button>
</body>

<script>
    $(function(){
        $('#button1').click(function(){
            var textbox = document.getElementById('OText');
            textbox.setSelectionRange(2,60);
            textbox.setSelectionRange(80,90);//覆盖了上面一个

        });
        $('#button2').click(function(){
            var textbox = document.getElementById('OText');
            textbox.setSelectionRange(2,60);
            $('#OText').focus();
            insertText(textbox,'rrewqrqew');
        });
        $('#button3').click(function(){
            var textbox = document.getElementById('OText');
            rangesLength(textbox);

        });
        $('#button4').click(function(){
            var textbox = document.getElementById('OText');
            moveEnd(textbox);
        });

        var rangesLength = function(obj){

        };

        function insertText(obj,str) {
            if (document.selection) {
                var sel = document.selection.createRange();/*似乎只有IE9支持，或者7、8也支持，但是H5页面读不出来，报错。*/
                sel.text = str;

            } else if (typeof obj.selectionStart === 'number' && typeof obj.selectionEnd === 'number') {
                var startPos = obj.selectionStart,
                    endPos = obj.selectionEnd,
                    cursorPos = startPos,
                    tmpStr = obj.value;
                obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
                cursorPos += str.length;
                obj.selectionStart = obj.selectionEnd = cursorPos;
            } else {
                obj.value += str;
            }
        }
        function moveEnd(obj){
            obj.focus();
            var len = obj.value.length;
            if (document.selection) {//  ie
                var sel = obj.createTextRange();
                sel.moveStart('character',len);
                sel.collapse();
                console.log(sel.anchorNode);    // 8
                sel.select();
            } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {
                obj.selectionStart = obj.selectionEnd = len;
            }
        }
    })
</script>
</html>